[IA64] Fix VTi
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Tue, 16 May 2006 14:59:26 +0000 (08:59 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Tue, 16 May 2006 14:59:26 +0000 (08:59 -0600)
This patch should fix VTi broken bug, though it will waste 8 pages.
Once change Qemu's related code, we can find this 8 pages back

Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
xen/arch/ia64/vmx/vmx_init.c

index e016c801a7965a5a72dbe2d5849a7a398e54ec94..e3fb857e26a702f47b27cc06c62a1a69fc5163df 100644 (file)
@@ -351,17 +351,13 @@ int vmx_build_physmap_table(struct domain *d)
 
        /* Map normal memory below 3G */
        end = VMX_CONFIG_PAGES(d) << PAGE_SHIFT;
-       if (end > VGA_IO_START)
-           end += VGA_IO_SIZE;
        tmp = end < MMIO_START ? end : MMIO_START;
        for (i = 0; (i < tmp) && (list_ent != &d->page_list); i += PAGE_SIZE) {
-        if (VGA_IO_START <= i && i < VGA_IO_START + VGA_IO_SIZE)
-            continue;
-
-           mfn = page_to_mfn(list_entry(
-               list_ent, struct page_info, list));
-           assign_domain_page(d, i, mfn << PAGE_SHIFT);
+           mfn = page_to_mfn(list_entry(list_ent, struct page_info, list));
            list_ent = mfn_to_page(mfn)->list.next;
+           if (VGA_IO_START <= i && i < VGA_IO_START + VGA_IO_SIZE)
+               continue;
+           assign_domain_page(d, i, mfn << PAGE_SHIFT);
        }
        ASSERT(list_ent != &d->page_list);